Address Sequence Generation for Data-Parallel Programs Using Integer Lattices
نویسندگان
چکیده
In data-parallel languages such as High Performance Fortran and Fortran D, arrays are mapped to processors through a two step process involving alignment followed by distribution. A compiler that generates code for each processor has to compute the sequence of local memory addresses accessed by each processor and the sequence of sends and receives for a given processor to access non-local data. In this paper, we present a novel approach to the address sequence generation problem based on integer lattices. The set of elements referenced can be generated by integer linear combinations of basis vectors. Using the basis vectors, we derive a loop nest that enumerates the addresses, which are points in the lattice generated by the basis vectors. The basis determination and lattice enumeration algorithms are linear time algorithms. Experimental results show that our solution to the address generation problem is faster than other solutions to this problem.
منابع مشابه
Fast Address Sequence Generation for Data-Parallel Programs Using Integer Lattices
In data-parallel languages such as High Performance Fortran and Fortran D, arrays are mapped to processors through a two step process involving alignment followed by distribution. A compiler that generates code for each processor has to compute the sequence of local memory addresses accessed by each processor and the sequence of sends and receives for a given processor to access non-local data....
متن کاملEfficient Computation of Address Sequences in Data Parallel Programs Using Closed Forms for Basis Vectors
Arrays are mapped to processors through a two-step process—alignment followed by distribution—in dataparallel languages such as High Performance Fortran. This process of mapping creates disjoint pieces of the array that are locally owned by each processor. An HPF compiler that generates code for array statements must compute the sequence of local memory addresses accessed by each processor and ...
متن کاملA fuzzy mixed-integer goal programming model for a parallel machine scheduling problem with sequence-dependent setup times and release dates
This paper presents a new mixed-integer goal programming (MIGP) model for a parallel machine scheduling problem with sequence-dependent setup times and release dates. Two objectives are considered in the model to minimize the total weighted flow time and the total weighted tardiness simultaneously. Due to the com-plexity of the above model and uncertainty involved in real-world scheduling probl...
متن کاملInteger Lattice Based Methods for Local Address Generation for Block-Cyclic Distributions
In data-parallel languages such as High Performance Fortran and Fortran D, arrays are mapped to processors through a two-step process involving alignment followed by distribution. A compiler that generates code for each processor has to compute the sequence of local memory addresses accessed by each processor and the sequence of sends and receives for a given processor to access non-local data....
متن کاملAn Efficient Compile-Time Approach to Compute Address Sequences in Data Parallel Programs
Arrays are mapped to processors through a two step process—alignment followed by distribution—in languages such as High Performance Fortran. This process of mapping creates disjoint pieces of the array that are locally owned by each processor. An HPF compiler that generates code for array statements must compute the sequence of local memory addresses accessed by each processor and the sequence ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1995